#ifndef _IPCM_H_
#define _IPCM_H_
#include "drv_mailbox.h"

typedef struct
{
	void * in;
	void * out;
}ipcm_data_t;

typedef int32_t (*exeFun_t)(void *);

typedef struct {
    uint16_t 		id;
    exeFun_t		exe;
    const char* 	name;
    uint8_t*		data;
}ipcm_msg_t;

typedef struct{
    int num;
    ipcm_msg_t *funclist;
}ipcm_funclist_t;

int IPCM_init();
int IPCM_run();
int IPCM_finalize();
void printIpcmData(ipcm_data_t * ipc_data);
#endif